リストの並べ替え

ソースコード
#coding:utf-8

#list join
list1 = ["a","b","c"]
list2 = [1,2,3]
list3 = list1 + list2
print(list3)

input()
#listの並べ替え、sort
import os
import random

os.system("clear")

lista = []
listb = []
for i in range(20):
    lista.append(random.randint(3,50))
    listb.append(random.randint(40,80))


#昇順に並べ替え、小さい順
print(f'元のリスト: {lista}')
lista.sort()
print(f'昇順に並べ替え:{lista}\n')

#降順に並べ替え、大きい順
print(f'元のリスト: {listb}')
listb.sort(reverse=True)
print(f'降順に並べ替え:{listb}\n')


#文字列ソート
def myFunc(e):
  return len(e)

fruits = ['kiwi', 'orange', 'banana', 'apple']
print(f'元のリスト: {fruits}')

fruits.sort()
print(f'昇順: {fruits}')

fruits.sort(reverse=True)
print(f'降順: {fruits}')

fruits.sort(key=myFunc)
print(f'文字列長さ順:{fruits}')

#listの応用例の1:成績の統計
list1=[]
for i in range(30):
   list1.append(random.randint(1,100))
print(list1)

#最高の点数とその人数、最低の点数、平均点、不可の人数、
print(f'最高の点数={max(list1)}\n')
print(f'最低の点数={min(list1)}\n')

maxCnt=0
ngCnt=0
maxP = max(list1)
ngP = 59

maxlist = []
nglist = []
number=0
for x in list1:
  number += 1
  if x == maxP:
     maxCnt += 1
     maxlist.append(number)

  if x <= ngP:
     ngCnt += 1
     nglist.append(number)

print(f'最高点を得た人数={maxCnt}  その学生番号リスト={maxlist}\n')
print(f'不合格人数={ngCnt}  その学生番号リスト={nglist}\n')

total=sum(list1)
avg = total/len(list1)
print(f'平均点数={avg}\n')

from statistics import mean
print(f'平均点数={mean(list1)}\n')